package org.zs.ioc4;

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

public class UserService implements InitializingBean, DisposableBean {
    private Integer count;
    //    第一种方式
    //    销毁方法（第六步）
    @Override
    public void destroy() throws Exception {
        count = null;
        System.out.println("销毁方法执行了 destroy，count = " + count);

    }

    //初始化方法（第四部）
    @Override
    public void afterPropertiesSet() throws Exception {
        count = 8;
        System.out.println("初始化方法执行了 afterPropertiesSet，count = " + count);
    }


    //    第二种方式
    public void start(){
        System.out.println("初始化方法执行了 start，count = " + count);
    }
    public void end(){
        System.out.println("销毁方法执行了 end，count = " + count);
    }

    //方法三
    @PostConstruct
    public void start1(){
        System.out.println("初始化方法执行了 init，count = " + count);
    }
    @PreDestroy
    public void end1(){
        System.out.println("销毁方法执行了 destroy，count = " + count);
    }
}
